<?php
App::uses('RiportokController', 'Controller');

class RiportokControllerTest extends ControllerTestCase {

	public $fixtures = array('app.riportsor', 'app.riport', 'app.tetel',
									 'app.szamla', 'app.bizonylat', 'app.osztaly',
									 'app.naplo', 'app.terv', 'app.gyujto_osztaly',
									 'app.gyujto', 
									 'core.session');

	public function setUp() {
		parent::setUp();
		$this->Riportok = $this->generate('Riportok',
														 array(
															'components' => array('Session', 'DebugKit.Toolbar')
															)
														 );

		$this->controller->Session->expects($this->any())
			->method('read')
			->with($this->logicalOr('Settings.cegId', 'Settings.ev', 'Auth.User.id', 'Settings'))
			->will($this->returnCallback(
									function($param){
										if($param == 'Settings.cegId')
											return 2;
										elseif($param == 'Settings.ev')
											return 2012;
										elseif($param == 'Auth.User.id')
											return 1;
										elseif($param == 'Settings')
											return array('ev' => 2012, 'cegId' => 2);
										else
											return null;
									}
									));
	}


	public function testBeszamolo(){
		$data = array('Riport' => array(
													'osztalytol' => '12 Controlling',
													'osztalyig' => '12 Controlling',
													'hotol' => 11,
													'hoig' => 11
													));
		$expected = array(
							'teny' => array(
								'beszamolo' => array(
									12 => array(
										'Értékesítés bevétele' => array(
											11 => 1430
										)))),
							'terv' => array(
								'beszamolo' => array(
									12 => array(
										'Értékesítés bevétele' => array(
											11 => 100000
										)))));
		$actual = $this->testAction('/riportok/beszamolo',  array(
																				'return' => 'vars',
																				'data' => $data,
																				'method' => 'post'));
		//debug($actual);
		$this->assertEquals($expected['teny']['beszamolo'][12]['Értékesítés bevétele'][11],
								  $actual['teny']['beszamolo'][12]['Értékesítés bevétele'][11]);

		$this->assertEquals($expected['terv']['beszamolo'][12]['Értékesítés bevétele'][11],
								  $actual['terv']['beszamolo'][12]['Értékesítés bevétele'][11]);
	}
}
